Enterprise software technology has matured to the point where today many hundreds of thousands of business processes are wholly or partially implemented in software and conducted via communications transacted across distributed networks. These communications networks may comprise elements of more than one electronic messaging system, to include the Internet, Extranets, Intranets, Local Area Networks, Wide Area Networks and other suitable electronic messaging networks or systems known in the art. The capability to rapidly generate new business process software that can smoothly integrate with pre-existing distributed computing environments, software programs, software components, and communications systems can greatly enhance the financial advantage, economic value and effectiveness of the resultant software and the authoring agent.
Traditional application software development has involved business analysts undertaking business process reviews, collecting requirements, and collating business rules in order to produce a general design for a business system. This general design would be expanded to include software developers who would then create a detailed software specification. This detailed software specification would then be handed over to software engineers to prepare functional and technical design documents. A team of programmers and administrators in turn would use these documents to develop an application that provide a certain solution. Once complete, the rigorous testing process would commence. This normally includes code testing, component testing, system testing, field and user testing.
Using the traditional approach, the possibility of errors introduced into the final application due to omissions, inconsistencies, ambiguities or misunderstandings was extremely high. In addition, maintenance and modification of the application may involve, for example, understanding and modifying code associated with the application. This can be difficult due to personnel change, cost, risk, and length of time since the application was developed, etc. All of these factors may contribute to unnecessary delay in responding to business needs.
The advent of web-based business-to-business and business-to-customer systems demands an integrated business application development and delivery environment. Such an environment will allow business to rapidly and directly implement a custom response to a business opportunity, to fine-tune the custom response as the business learns, and to adapt that response as business requirements evolve. It is, therefore, an object of the method of the present invention to enable the authoring and composition of business process models, and the resultant real-time generation, integration and execution of business applications from business process models with little or no coding, programming or scripting.